package br.com.bomsabor.view;

import java.util.LinkedList;

import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;

import br.com.bomsabor.model.Conteudo;
import br.com.bomsabor.util.Conversor;

public class ConteudoTableModel extends AbstractTableModel {

	private static final long serialVersionUID = 1754816286628783525L;
	private static final String[] columnNames = {"Item", "Quantidade", "Valor Unit.", "Valor Total"};
    private LinkedList<Conteudo> list;
    
    private FrmConteudo frmConteudo;
  
	public ConteudoTableModel () {
    	list = new LinkedList<Conteudo>();
    }
	public String getColumnName(int col) {
		return columnNames[col].toString();
    }
    public int getRowCount() { return list.size(); }
    public int getColumnCount() { return columnNames.length; }
    public boolean isCellEditable(int row, int col) { 
    	return (col == 0 || col == 1);
    }
    public Object getValueAt(int row, int col) {
    	Object valor = null;
		long qtd  = list.get(row).getQuantidadeItem();
		double vlrUnit = list.get(row).getItemProduto().getValorUnitario();
    	switch(col) {
        	case 0: valor = list.get(row).getItemProduto().getNomeItemProduto(); break;
        	case 1: valor = qtd; break;
        	case 2: 
        		valor = Conversor.money2string(vlrUnit); break;
        	case 3: 
        		valor = Conversor.money2string(vlrUnit*qtd); break;
    	}
    	return valor;
    }
    public void addElement(Conteudo e) {
        list.add(e);
        fireTableRowsInserted(list.size()-1, list.size()-1);
    }
    
    
    public FrmConteudo getFrmConteudo() {
		return frmConteudo;
	}
	public void setFrmConteudo(FrmConteudo frmConteudo) {
		this.frmConteudo = frmConteudo;
	}

}
